package com.rytx.system.domain.ysp;

import com.rytx.common.core.domain.BaseEntity;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单
 */
@EqualsAndHashCode(callSuper = true)
@lombok.Data
public class ArtOrder extends BaseEntity {
    private Long id;
    private String orderNo;//订单编号
    private String orderRequestNo;//订单请求编号
    private String orderDate;//订单日期
    private String aliOrder;//支付宝订单号
    private String zmAuthOrderNo;//芝麻免押授权订单号
    private String aliTradeNo;//支付宝流水号
    private String wechatOrder;//微信订单号
    private String orderName;//订单名称
    private BigDecimal freezeAmount;//冻结金额
    private BigDecimal unfreezeAmount;//解冻金额
    private BigDecimal paymentAmount;//支付金额
    private BigDecimal refundAmount;//退款金额
    private BigDecimal orderAmount;  //订单金额
    private Long artRentalId;  //商品ID
    private String artName;  //商品名称
    private Long userId;  //用户ID
    private String parentOrderNo;//父订单编号
    private String orderType;    //订单类型 1-租赁订单 2-购买订单
    private Integer rentalDays; //租赁时长
    private String orderStatus;  //订单状态 0-待支付 1-已支付 2-已取消 3-退款申请 4-已归还 5-已延期 6-已完成 7-退款处理中 8-已退款 9-退货退款申请 10-提前归还 11-已发货 88-需要手动支付 998-支付金额与订单不一致 999-删除
    private String orderSource;  //订单来源 1-系统订单 2-线下订单 3-线上订单
    private String orderSourceId;  //订单来源ID
    private String orderRemark;  //订单备注

    private String customerName; //客户名称
    private String customerPhone; //客户电话
    private String customerAddress; //客户地址
    private String customerRemark; //客户备注
    private String salesName; //销售人员名称
    private String salesPhone; //销售人员电话
    private String salesRemark; //销售人员备注
    private String deliveryName; //收货人名称
    private String deliveryPhone; //收货人电话
    private String deliveryAddress; //收货地址
    private String deliveryRemark; //收货备注
    private String paymentMethod; //支付方式
    private String paymentAccount; //支付账号
    private String paymentRemark; //支付备注
    private String logisticsName; //物流公司名称
    private String logisticsNo; //物流单号
    private String logisticsRemark; //物流备注
    private Date rentalStartDate; //租赁开始日期
    private Date rentalEndDate; //租赁结束日期
    private String rentalStatus; //租赁状态 0-待确认 1-租赁中 2-已归还 3-已取消 4-已延期
    private String reqMessage; // 请求信息
    private Date reqDate; // 请求开始日期
    private String resMessage; // 响应信息
    private Date resDate; // 响应日期
    private Long userAddressId; // 快递地址ID
    private String restAmount; // 免押订单剩余冻结金额
    private String afterSaleReason; // 售后原因
    private Integer goodsNum; // 商品数量
    private String logisticsCode; //物流公司编码
    private Date signDate; // 签收日期
    private Date confirmDate; // 确认收货日期
    private boolean hasChild = false; // 是否有子订单
    private Long afterStatus;//是否售后 0-未售后 1-已售后
    private Date deliveryDate; //发货日期

    private Date startTime;
    private Date endTime;

    private String seacrchValue; // 搜索条件
    private Long takStatus;//开发票状态 0 未开票 1已开票 2 申请中

    private String recoveryReason; //追缴原因
    private String recoveryStatus; //追缴状态 0-正常无追缴 1-追缴未支付 2-追缴已支付
    private String cartRentalIds; //购物车批量租赁的商品ID
    private String leaseType; //租赁类型 0-免押 1-普通支付
    private String payType; //支付方式 1-支付宝 2-微信 表里没有这个字段，判断用的
    private String ip; //请求IP 表里没有这个字段，创建订单时用的
    private String transactionId; //微信支付系统生成的订单号。 transaction_id
    private String wxRefundId; //微信退款单号
    private String deductionCycle; //扣款周期
}
